testgtk: Make big windows test not use expose events
authorBenjamin Otte <otte@redhat.com>
Thu, 9 Sep 2010 01:01:09 +0000 (03:01 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 26 Sep 2010 13:11:41 +0000 (15:11 +0200)
Instead, use gdk_window_set_background().

tests/testgtk.c

index a60cb671be8ff6db361f955e4d65047757624e0f..68a4f38cc0b8c2758f646071d8ef1a5816a08bd1 100644 (file)
@@ -454,29 +454,6 @@ create_composited_window (GtkWidget *widget)
  * Big windows and guffaw scrolling
  */
 
-static gboolean
-pattern_expose (GtkWidget      *widget,
-               GdkEventExpose *event,
-               gpointer        data)
-{
-  GdkColor *color;
-  GdkWindow *window = event->window;
-
-  color = g_object_get_data (G_OBJECT (window), "pattern-color");
-  if (color)
-    {
-      cairo_t *cr = gdk_cairo_create (window);
-
-      gdk_cairo_set_source_color (cr, color);
-      gdk_cairo_rectangle (cr, &event->area);
-      cairo_fill (cr);
-
-      cairo_destroy (cr);
-    }
-
-  return FALSE;
-}
-
 static void
 pattern_set_bg (GtkWidget   *widget,
                GdkWindow   *child,
@@ -488,8 +465,8 @@ pattern_set_bg (GtkWidget   *widget,
     { 0, 0xaaaa, 0xaaaa, 0xffff }
   };
     
-  g_object_set_data (G_OBJECT (child), "pattern-color", (gpointer) &colors[level]);
   gdk_window_set_user_data (child, widget);
+  gdk_window_set_background (child, &colors[level]);
 }
 
 static void
@@ -644,9 +621,6 @@ create_big_windows (GtkWidget *widget)
       g_signal_connect (darea, "realize",
                         G_CALLBACK (pattern_realize),
                         NULL);
-      g_signal_connect (darea, "expose_event",
-                        G_CALLBACK (pattern_expose),
-                        NULL);
 
       eventbox = gtk_event_box_new ();
       gtk_table_attach (GTK_TABLE (table), eventbox,